package com.yidian.server.seckill;

import com.yidian.pojo.seckill.SeckillOrder;
import com.yidian.pojo.seckill.SeckillStatus;

/**
 * @author whb
 * @create 2021-10-25 09:34
 * @desciption 秒杀订单Service接口类
 */
public interface SeckillOrderServcie {
    /**
     * 秒杀下单
     * @param id 商品id
     * @param time 商品秒杀时间区间
     * @param username 用户名
     * @return
     */
    Boolean addOrder(Long id,String time,String username);

    /**
     * 查询秒杀状态信息
     * @param username 用户名
     * @return
     */
    SeckillStatus querySeckillStatus(String username);

    /**
     * 更新秒杀订单状态
     * @param out_trade_no 订单号
     * @param username 用户名
     * @param transaction_id 交易流水号
     */
    void updateOrderStatus(String out_trade_no, String username, String transaction_id);

    /**
     * 根据用户名查询秒杀订单数据
     * @param username 用户名
     * @return
     */
    SeckillOrder querySeckillOrder(String username);
}
